// 《围棋》作者版权所有。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// go:build windows 

// Package sysdll是一个内部叶包，用于记录和报告
// go本身使用的windows DLL名称。这些DLL随后被
// 只从System32目录加载。见第14959期。
package sysdll

// IsSystemDLL报告指定的dll键（一个基本名称，如
// “foo.dll”）是否是一个系统dll，只能从
// Windows SYSTEM32目录加载。
// 
// 文件名区分大小写，但这并不重要，因为
// 使用Add注册的大小写与
// LoadDLL之后使用的大小写相同。
// 
// 它没有关联的互斥体，只能连续变异
// （当前：在初始化期间），并且不能与DLL加载并发。
var IsSystemDLL = map[string]bool{}

// 请注意，dll是system32 dll，只能从Windows system32目录加载。它返回参数
// 以便于在生成的代码中使用。
func Add(dll string) string {
	IsSystemDLL[dll] = true
	return dll
}
